package com.myaxuan.util;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

/**
 * Created by pc255 on 2018/5/2.
 */
public class UseRunnable implements Runnable{
	String ThreadName;

	public UseRunnable( String threadName){
		this.ThreadName = threadName;
	}

/*　　          sleep(): 强迫一个线程睡眠Ｎ毫秒。
			　　isAlive(): 判断一个线程是否存活。
			　　join(): 等待线程终止。
			　　activeCount(): 程序中活跃的线程数。
			　　enumerate(): 枚举程序中的线程。
				currentThread(): 得到当前线程。
			　　isDaemon(): 一个线程是否为守护线程。
			　　setDaemon(): 设置一个线程为守护线程。(用户线程和守护线程的区别在于，是否等待主线程依赖于主线程结束而结束)
			　　setName(): 为线程设置一个名称。
			　　wait(): 强迫一个线程等待。
			　　notify(): 通知一个线程继续运行。
			　　setPriority(): 设置一个线程的优先级。*/
	@Override
	public synchronized void run() {
		int count = 10;
		while(true) {
			count--;
			System.out.println(ThreadName + "线程:" + count);
			if (count == 0) {
				break;
			}
		}
	}






	public static void main(String[] args) throws InterruptedException {
		UseRunnable n1=new UseRunnable("A");
		UseRunnable n2=new UseRunnable("B");
		Thread t1=new Thread(n1);
		Thread t2=new Thread(n2);
		List n=new ArrayList<>();
		Set<String> m=new HashSet<String>();
		t2.join();
		t1.start();
		t2.start();
	}
}
